Certifying assembly with formal security proofs: The case of BBS
نویسندگان
چکیده
With today’s dissemination of embedded systems manipulating sensitive data, it has become important to equip low-level programs with strong security guarantees. Unfortunately, security proofs as done by cryptographers are about algorithms, not about concrete implementations running on hardware. In this article, we show how to perform security proofs to guarantee the security of assembly language implementations of cryptographic primitives. Our approach is based on a framework in the Coq proof assistant that integrates correctness proofs of assembly programs with game-playing proofs of provable security. We demonstrate the usability of our approach using the Blum-Blum-Shub pseudorandom number generator, for which a MIPS implementation for smartcards is shown cryptographically secure.
منابع مشابه
Certifying Assembly with Formal Cryptographic Proofs: the Case of BBS
With today’s dissemination of embedded systems manipulating sensitive data, it has become important to equip low-level programs with strong security guarantees. Unfortunately, security proofs as done by cryptographers are about algorithms, not about concrete implementations running on hardware. In this paper, we show how to perform security proofs to guarantee the security of assembly language ...
متن کاملA Certifying Compiler for Zero-Knowledge Proofs of Knowledge Based on Σ-Protocols
Zero-knowledge proofs of knowledge (ZK-PoK) are important building blocks for numerous cryptographic applications. Although ZK-PoK have very useful properties, their real world deployment is typically hindered by their significant complexity compared to other (noninteractive) crypto primitives. Moreover, their design and implementation is time-consuming and error-prone. We contribute to overcom...
متن کاملA Certifying Compiler for Zero-Knowledge Proofs of Knowledge Based on Σ-Protocols (Full Version)
Zero-knowledge proofs of knowledge (ZK-PoK) are important building blocks for numerous cryptographic applications. Although ZK-PoK have very useful properties, their real world deployment is typically hindered by their significant complexity compared to other (non-interactive) crypto primitives. Moreover, their design and implementation is time-consuming and error-prone. We contribute to overco...
متن کاملCertificates for Tree Automata Completion
We consider the problem of certifying the correctness of a protocol or security API through a formal, machine-checkable proof. To this aim, we re-examine the completion algorithm for tree automata and term rewriting systems, that computes an over-approximation of regular sets of terms up to rewriting. We then define a procedure to certify, via a proof, that the result of the completion is indee...
متن کاملMore Typed Assembly Languages for Confidentiality
We propose a series of type systems for the information-flow security of assembly code. These systems extend previous work TALC with some timing annotations and associated judgments and rules. By using different timing rules, these systems are applicable to different practical settings. In particular, they can be used to prevent illicit information flow through the termination and timing channe...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Sci. Comput. Program.
دوره 77 شماره
صفحات -
تاریخ انتشار 2012